package com.spm.librarianmanagersystem.utils;

import lombok.Data;

@Data
public class JsonResult<T> {
    /**
     *  @Class: JsonResult
     *  @Author: Wei Junwei
     *  @Time: 23:57 2022/3/27
     *  @Description:
     */

    private T data;
    // 根据接口文档 查询成功返回0 失败返回正数
    private int code;
    private String msg;

    /**
     * 若没有数据返回，默认状态码为 0，提示信息为“操作成功！”
     */
    public JsonResult() {
        this.code = 0;
        this.msg = "操作成功！";
    }

    /**
     * 若没有数据返回，可以人为指定状态码和提示信息
     * @param code
     * @param msg
     */
    public JsonResult(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    /**
     * 有数据返回时，状态码为 0，默认提示信息为“操作成功！”
     * @param data
     */
    public JsonResult(T data) {
        this.data = data;
        this.code = 0;
        this.msg = "操作成功！";
    }


    public JsonResult(T data, int code, String msg) {
        this.data = data;
        this.code = code;
        this.msg = msg;
    }
}
